package com.hdit.guimei.web;

import com.hdit.guimei.domain.FindGoodsClassName;
import com.hdit.guimei.domain.Goods_category;
import com.hdit.guimei.domain.Goods_class;
import com.hdit.guimei.service.CategoryService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author 冰镇小可乐
 * @ClassNameCategoryServlet
 * @Description TODO
 * @Date 2021/1/18 15:12
 * Version 1.0
 */
@Controller
public class CategoryController {
    @Autowired
    private CategoryService service;
    /***
    * @Method 查询所有一级分类
    * @Author 冰镇小可乐
    * @params  [model]
    * @Return java.lang.String
    * @Exception  
    * @Date 2021/1/18 15:49
    */
    @RequestMapping("/category/findAllGoods_class")
    @ResponseBody
    List<Goods_class> findAllGoods_class(){
        List<Goods_class> list =service.findAllGoods_class();
        System.out.println(list.size());
        for (Goods_class g : list) {
            System.out.println(g.getClass_name());
        }
        return list;
        //返回信息
    }
    @RequestMapping("/findGoodsClassName")
    @ResponseBody
    List<FindGoodsClassName> findGoodsClassName(){
        return service.findGoodsClassName();
    }


    @RequestMapping("/findAllGoodsCategoryByNone")
    @ResponseBody
    List<Goods_category> findAllGoodsCategoryByNone(){
     return  service.findAllGoodsCategoryByNone();
    }
    /***
    * @Method 添加商品一级分类
    * @Author 冰镇小可乐
    * @params  [g]
    * @Return java.lang.String
    * @Exception
    * @Date 2021/1/18 16:07
    */
    @RequestMapping("/category/addGoods_class")
    @ResponseBody
    int addGoods_class(Goods_class g){
        int i=service.addGoods_class(g);
        System.out.println(g.getClass_name());
        if (i==1){
            //添加成功
            //返回信息
            return 1;
        }
        //添加失败
        //返回信息
        return 0;
    }
    /***
    * @Method 修改商品一级分类
    * @Author 冰镇小可乐
    * @params  [goods_class]
    * @Return void
    * @Exception  
    * @Date 2021/1/18 16:45
    */
    @RequestMapping("/category/updateGoods_class")
    @ResponseBody
    String  updateGoods_class(Goods_class goods_class){
        int i=service.updateGoods_classById(goods_class);
        if (i==1){
            //修改成功
            //返回信息
            return "修改成功";
        }
        //修改失败
        //返回信息
        return "修改失败";
    }
    /***
    * @Method 删除商品一级分类
    * @Author 冰镇小可乐
    * @params  [class_id, model]
    * @Return void
    * @Exception  
    * @Date 2021/1/18 16:49
    */
    @RequestMapping("/category/deleteGoods_class")
    @ResponseBody
        int deleteGoods_class(int class_id){
        System.out.println(class_id);
        int i=service.findGoods_categoryByClassId(class_id);
        if (i==1){
            //删除失败
            return 2;
            //返回信息
        }
        int z=service.deleteGoods_classById(class_id);
        if (z==1){
            //删除成功
            return 1;
            //返回信息
        }
        return  0;
    }
    /***
    * @Method 查询所有二级分类
    * @Author 冰镇小可乐
    * @params  [model]
    * @Return java.lang.String
    * @Exception  
    * @Date 2021/1/18 15:49
    */
    @RequestMapping("/category/findAllGoods_category")
    @ResponseBody
    List<Goods_category> findAllGoods_category(@RequestBody Map<String,String> map, Model model){

        List<Goods_category> list=service.findAllGoods_category(Integer.parseInt(map.get("class_id")));
        System.out.println(list.size());
        for (Goods_category g : list) {
            System.out.println(g.getCategory_name());
        }
        return list;
        //返回信息
    }
    /***
    * @Method 添加商品二级分类
    * @Author 冰镇小可乐
    * @params  [goods_category]
    * @Return java.lang.String
    * @Exception  
    * @Date 2021/1/18 16:10
    */
    @RequestMapping("/category/addGoods_category")
    @ResponseBody
    int addGoods_category(Goods_category goods_category){
        int i=service.addGoods_category(goods_category);
        if (i==1){
            //添加成功
            //返回信息
            return 1;
        }
        //添加失败
        //返回信息
        return 0;
    }
    /***
    * @Method 修改商品二级分类信息
    * @Author 冰镇小可乐
    * @params  [goods_category]
    * @Return void
    * @Exception  
    * @Date 2021/1/18 16:56
    */
    @RequestMapping("/category/updateGoods_category")
    @ResponseBody
    String updateGoods_category(Goods_category goods_category){
        int i=service.updateGoods_categoryById(goods_category);
        if (i==1){
            //修改成功
            //返回信息
            return  "修改成功";
        }
        //修改失败
        //返回信息
        return  "修改失败";
    }
    /***
    * @Method 删除商品二级分类
    * @Author 冰镇小可乐
    * @params  [category_id, model]
    * @Return void
    * @Exception  
    * @Date 2021/1/18 17:01
    */
    @RequestMapping("/category/deleteGoods_category")
    @ResponseBody
    int deleteGoods_category(int category_id){
        int i=service.findGoodsByGoods_category(category_id);
        if (i==1){
            //删除失败
            return 2;
            //返回信息
        }
        int z=service.deleteGoods_categoryById(category_id);
        if (z==1){
            //删除成功
           return 1;
            //返回信息
        }
        return 0;
    }
    @RequestMapping("/findClassNameByCategoryId")
    @ResponseBody
    Map findClassNameByCategoryId( int class_id){
        System.out.println(class_id);
        String class_name = service.findClassNameByCategoryId(class_id);
        Map<String,String> map=new HashMap<>();
        map.put("class_name",class_name);
        return map;
    }
}
